Loading...
 

Linear basis functions

The B-spline basis functions are defined according the the recursive formula, illustrated in Fig. 1.

Recursive definition of B-spline basis functions.
Figure 1: Recursive definition of B-spline basis functions.

The linear B-splines are just "pyramids" use to define the higher-order B-splines later.
Both linear basis functions and higher-order basis functions can be described in a modern way using the convention adopted in the isogeometric finite element method, referring to the B-spline function and the so-called knot-vector notation. Let us consider a one-dimensional area \( [0,N] \) divided into \( N \) compartments called finite elements. For the sake of simplification of our presentation, let us assume that we have five such intervals, i.e. \( N=5 \). We introduce the notation of the knot vector, which is a sequence of non-decreasing coordinates of points. As a rule, for the sake of simplification, points with coordinates are integers. For example, a vector of knots \( [0 \quad 0 \quad 1 \quad 2 \quad 3 \quad 4 \quad 5 \quad 5] \) defines us linear basis functions on an interval \( [0,5] \) divided into five elements \( [0,1], [1,2], [2,3], [3,4], [4,5] \).
In order to illustrate the basis functions resulting from the various knot vectors, we recommend the attached MATLAB code.
How to interpret the notation of a vector of knots? First, we need to define the degree and continuity of the basis functions. We do it as follows. The degree of basis functions is equal to the number of repetitions of the first (or last) point in the knot vector minus one. In other words, we look at how many times the first and last point in the knot vector is repeated. If this point is repeated twice (in our case 0 0 and 5 5), it means that the degree of basis functions is one (two minus one), i.e. we introduce linear basis functions.
What are the formulas for linear basis functions defined with a knot vector? This is determined by the so-called Cox-de-Boor rule, the original formula of which is given below
[1]:

\( B_{i,0}(\xi)=1 \textrm{ jeśli } \xi_i \leq \xi \leq \xi_{i+1} \textrm {or 0 in other cases } \)
\( B_{i,p}(\xi)=\frac{\xi-\xi_i}{\xi_{i+p}-\xi_i}B_{i,p-1}(\xi)+\frac{\xi_{i+p+1}-\xi}{\xi_{i+p+1}-\xi_{i+1}}B_{i+1,p-1}(\xi) \)

How should this rule be understood? Vector \( N \) knots encode us \( N+p \) B-spline function, where \( p \) denotes the degree of B-spline function (in our case we are considering linear B-spline functions, so \( p=1 \)).
B-spline function are marked \( B_{i,p} \), where \( i=1,...N+p \) stands for the number (index) of the B-spline function, and \( p \) denotes the degree of B-spline function.


In our case, we have \( N=5 \) and \( p=1 \) and our vector of knots \( [0 \quad 0 \quad 1 \quad 2 \quad 3 \quad 4 \quad \color{red}{5} \quad \color{red}{5}] \) codes us \( N+p=\color{red}{5}+1=6 \) B-spline basis functions, or functions
\( B_{1,1}, B_{2,1}, B_{3,1}, B_{4,1}, B_{5,1} \) and \( B_{6,1} \).
In the Cox-de-Boor formula, points \( \xi_i \) denote individual knots in the knot vector, so we have \( \xi_1=0, \xi_2=1, \xi_3=2, \xi_4=3, \xi_5=4 \) and \( \xi_6=5 \). We now need to recreate our basis functions from the Cox-de-Boor formula \( B_{1,1},...,B_{6,1} \).
Formula ( 1 ) - ( 2 ) The formula is a recursive formula. We need to start by defining all zero-order B-spline functions on the interval \( [0,5] \), according to the pattern ( 1 ). Especially \( \xi_1=0, \xi_2=0, \xi_3=1 \) (the first two knots in our vector are repeated). Therefore, the first zero degree B-spline basis function is degenerate to a point
\( B_{1,0}=1 \textrm{ dla } x\in[\xi_1,\xi_2]=[0,0]=\{0\} \), 0 in other points,
\( B_{2,0}=1 \textrm{ dla } x\in[\xi_2,\xi_3]=[0,1] \), 0 in other points,
\( B_{3,0}=1 \textrm{ dla } x\in[\xi_3,\xi_4]=[1,2] \), 0 in other points,
\( B_{4,0}=1 \textrm{ dla } x\in[\xi_4,\xi_5]=[2,3] \), 0 in other points,
\( B_{5,0}=1 \textrm{ dla } x\in[\xi_5,\xi_6]=[3,4] \), 0 in other points,
\( B_{6,0}=1 \textrm{ dla } x\in[\xi_6,\xi_7]=[4,5] \), 0 in other points,
\( B_{7,0}=1 \textrm{ dla } x\in[\xi_7,\xi_8]=[5,5]=\{5\} \), 0 in other points.
Now, using a combination of zero degree B-splines, we will obtain the first degree B-spline according to the formula ( 1 ), for \( p=1 \).
\( B_{i,1}(\xi)=\frac{\xi-\xi_i}{\xi_{i+1}-\xi_i}B_{i,0}(\xi)+\frac{\xi_{i+2}-\xi}{\xi_{i+2}-\xi_{i+1}}B_{i+1,0}(\xi) \)
At this point, we note that the formula ( 2 ) commonly used in the literature on the isogeometric finite element method has some drawbacks. It basically means that you cannot insert repeated knots into it, because, for example, inserting \( \xi_1-\xi_2=0-0=0 \) will give us division by zero. This formula should therefore be subject to additional conditions which say that successive knots inserted into the denominator must be different, or if they are not different, then a given term should be changed to zero. We marked these elements in red:
\( B_{1,1}(\xi)=\color{red}{\frac{\xi-0}{0-0}B_{1,0}(\xi)}+\frac{1-\xi}{1-0}B_{2,0}(\xi) =1-\xi \textrm{ dla } \xi\in[0,1] \)
\( B_{2,1}(\xi)=\frac{\xi-0}{1-0}B_{2,0}(\xi)+\frac{2-\xi}{2-1}B_{3,0}(\xi) =\xi \textrm{ dla } \xi\in[0,1], 2-\xi \textrm{ dla } \xi\in[1,2] \)
\( B_{3,1}(\xi)=\frac{\xi-1}{2-1}B_{3,0}(\xi)+\frac{3-\xi}{3-2}B_{4,0}(\xi) =\xi-1 \textrm{ dla } \xi\in[1,2], 3-\xi \textrm{ dla } \xi\in[2,3] \)
\( B_{4,1}(\xi)=\frac{\xi-2}{3-2}B_{4,0}(\xi)+\frac{4-\xi}{4-3}B_{5,0}(\xi) =\xi-2 \textrm{ dla } \xi\in[2,3], 4-\xi \textrm{ dla } \xi\in[3,4] \)
\( B_{5,1}(\xi)=\frac{\xi-3}{4-3}B_{5,0}(\xi)+\frac{5-\xi}{5-4}B_{6,0}(\xi) =\xi-3 \textrm{ dla } \xi\in[3,4], 5-\xi \textrm{ dla } \xi\in[4,5] \)
\( B_{6,1}(\xi)=\frac{\xi-4}{5-4}B_{6,0}(\xi)+\color{red}{\frac{5-\xi}{5-5}B_{7,0}(\xi)}=\xi-4 \textrm{ dla } \xi\in[4,5] \)
For the vector of knots
\( [0 \quad 0 \quad 1 \quad 2 \quad 3 \quad 4 \quad 5 \quad 5] \) we have six basis functions of the first order \( B_{1,1},...,B_{6,1} \).


Ostatnio zmieniona Sobota 09 z Lipiec, 2022 12:23:40 UTC Autor: Maciej Paszynski
Zaloguj się/Zarejestruj w OPEN AGH e-podręczniki
Czy masz już hasło?

Hasło powinno mieć przynajmniej 8 znaków, litery i cyfry oraz co najmniej jeden znak specjalny.

Przypominanie hasła

Wprowadź swój adres e-mail, abyśmy mogli przesłać Ci informację o nowym haśle.
Dziękujemy za rejestrację!
Na wskazany w rejestracji adres został wysłany e-mail z linkiem aktywacyjnym.
Wprowadzone hasło/login są błędne.